package lq.auth.studyauth.properties;

import lombok.Data;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;

/*
 * 为@Component的派生注解，用于将FebsAuthProperties纳入到IOC容器中
 * @ConfigurationProperties指定要读取的属性的统一前缀名称为study.auth
 * @PropertySource 用于指定读取的配置文件路径
 */

/**
 * @program: cloud-study
 * @description: Auth相关的配置类
 * @author: LQ
 * @create: 2020-09-24 15:20
 */
@Data
@SpringBootConfiguration
@PropertySource(value = {"classpath:study-auth.properties"})
@ConfigurationProperties(prefix = "study.auth")
public class StudyAuthProperties {
    /**
     * 一个认证服务器可以根据多种Client来发放对应的令牌
     * 所以使用数组形式
     */
    private StudyClientsProperties[] clients = {};
    /**
     * 指定access_token的有效时间，默认值为60 * 60 * 24秒
     */
    private int accessTokenValiditySeconds = 60 * 60 * 24;
    /**
     * 指定refresh_token的有效时间，默认值为60 * 60 * 24 * 7秒。
     */
    private int refreshTokenValiditySeconds = 60 * 60 * 24 * 7;

    // 免认证路径
    private String anonUrl;

    //验证码配置类
    private StudyValidateCodeProperties code = new StudyValidateCodeProperties();
}
